Method of operating a synchronous motor in a flux weakening mode and a controller therefor

ABSTRACT

Described is a method of controlling operation of a synchronous motor. The method comprises, during constant power/speed motor operation, determining a value of a stator voltage (vs2) for an orthogonal rotating reference frame of the motor. Comparing the value of the determined stator voltage (vs2) to a threshold voltage (vs2_max1), said threshold voltage (vs2_max1) having a value between that of a maximum stator voltage (vs2_max0) for a basic speed mode of operation of the motor and that of a maximum stator voltage (vs2_max2) of the motor closed loop controller. If the determined value of the stator voltage (vs2) is greater than or equal to the value of the threshold voltage (vs2_max1), then controlling operation of the motor in a flux weakening mode of operation until a value of a current component (id−Δid) in a d-axis reaches a maximum negative value (−idmax), or until the value of the stator voltage (vs2) is less than the value of the threshold voltage (vs2_max1).

FIELD OF THE INVENTION

The invention relates to a method of operating a synchronous motor in aflux weakening mode and a controller therefor. The method relatesparticularly, but not inclusively to a method of operating a permanentmagnet synchronous motor (PMSM) having a sensorless closed-loop controlsystem for synchronous operation in a flux weakening mode.

BACKGROUND OF THE INVENTION

The most common types of multi-phase, e.g., three-phase, motors aresynchronous motors and induction motors. When three-phase electricconductors are placed in certain geometrical positions, which means at acertain angle from one another, an electrical field is generated. Therotating magnetic field rotates at a certain speed known as thesynchronous speed. If a permanent magnet or electromagnet is present inthis rotating magnetic field, the magnet is magnetically locked with therotating magnetic field and consequently rotates at the same speed asthe rotating field which results in a synchronous motor, as the speed ofthe rotor of the motor is the same as the speed of the rotating magneticfield.

A permanent magnet motor uses permanent magnets in the rotor to providea constant magnetic flux which has a sinusoidal back-electromotive force(back-emf) signal. The rotor locks in when the speed of the rotatingmagnetic field in the stator is at or near synchronous speed. The statorcarries windings which are connected to a controller having a powerstage including a voltage supply, typically an alternating current (AC)voltage supply, to produce the rotating magnetic field. Such anarrangement constitutes a PMSM.

PMSMs are similar to brushless direct current (BLDC) motors. BLDC motorscan be considered as synchronous DC motors which use a controller havinga power stage including a DC voltage supply, suitably converted, toproduce the stator rotating magnetic field. BLDC motors therefore usethe same or similar control algorithms as AC synchronous motors,especially PMSM motors.

Previously, it has been common in synchronous motor control systems touse at least one sensor, such as a Hall sensor, to detect the rotationalposition of the rotor during synchronous operation. However, sensorlessmotor control systems are now preferred.

Such sensorless motor control systems typically include a rotor positionand speed estimation module where, during synchronous operation, rotorposition and speed can be continuously estimated based on the back-emfinduced by the rotating rotor. The estimated rotor positions and speedsare utilized to update and/or compensate the motor control signalsduring synchronous operation thereby providing sensorless closed-loopsynchronous operation motor control.

One of the primary limiting features of synchronous motor drives is thelimited excitation control. The internal emf of the motor rises inproportion to the motor speed. Such behavior is desirable in theso-called constant torque range, since it is consistent with theconstant volts-per-hertz control, which is normally used during thismode of operation. However, when the speed continues to rise, thevoltage limit of the associated frequency converter is reached. Themotor is then said to enter the flux-weakening operation. The internalvoltage must now be adjusted to be compatible with the applied convenervoltage which increases as speed increases. As a result, the motor powerfactor becomes leading and the current to be commutated by the invertercontinues to increase as speed increases. However, the voltage islimited by the rating of the converter and the current is also limitedby the rating of the machine. To achieve an extended constant powerrange for traction application, to eliminate the use of multiple gearratios, and to reduce the power inverter volt-ampere rating,flux-weakening operation is one of the most applicable solutions.

The publication entitled “A Review of Flux-weakening Control inPermanent Magnet Synchronous Machines” authored by Dongyun Lu andNarayan C. Kar, Department of Electrical & Computer Engineering,University of Windsor, Windsor, ON, Canada, the content of which isherein incorporated by reference, discloses several algorithms forcontrolling a flux weakening mode of operation of a synchronous motor.This electronic control approach to flux weakening is generally based onthe control of the stator current components: d and q-axis currents; tocounter the fixed-amplitude magnetic airgap flux venerated by the rotormagnets. One such algorithm is a feed-forward algorithm in which the qaxis current command is determined from the torque command or the d-axiscurrent, while the demagnetizing d-axis current is obtained fromflux-weakening characteristics as a function of the operating speed. Incontrast, in a feed-back algorithm, the motor voltage and/or speed aremeasured and the demagnetizing current (d-axis component of the current)is adjusted in order to track the voltage limit at increasing speed. Thedemagnetizing current vector can be adjusted by tracking the voltageerror or the speed error. In a hybrid algorithm, the pre-computed d-axiscurrent command for maximum torque per ampere (MTPA) is adjusted by theoptimization objectives, while the q-axis current command is determinedfrom the torque command and d-axis current feed-lack. All of theseapproaches are difficult to implement and require high processingcapabilities.

Among other things, what is therefore desired is an improved method ofcontrolling operation of a synchronous motor in a flux weakening mode ofoperation.

OBJECTS OF THE INVENTION

An object of the invention is to mitigate or obviate to some degree oneor more problems associated with known methods of controlling operationof a synchronous motor in a flux weakening mode of operation.

The above object is met by the combination of features of the mainclaims; the sub-claims disclose further advantageous embodiments of theinvention.

Another object of the invention is to provide an improved method ofcontrolling operation of a PMSM having a sensorless closed-loop controlsystem for synchronous operation in a flux weakening mode of operation.

One skilled in the art will derive from the following description otherobjects of the invention. Therefore, the foregoing statements of objectare not exhaustive and serve merely to illustrate some of the manyobjects of the present invention.

SUMMARY OF THE INVENTION

In a first main aspect, the invention provides a method of method ofcontrolling operation of a synchronous motor using a closed loopcontroller, the method comprising: during constant power or constantspeed motor operation, determining a value of a stator voltage (v_(s) ²)for an orthogonal rotating reference frame of the motor; comparing thevalue of the determined stator voltage (v_(s) ²) to a threshold voltage(v_(s) ² _(_max1)) in the orthogonal rotating reference frame, saidthreshold voltage (v_(s) ² _(_max1)) having a predetermined, selected orcalculated value between a value of a maximum stator voltage (v_(s) ²_(_max0)) in the orthogonal rotating reference frame for a basic speedmode of operation of the motor and a value of a maximum stator voltage(v_(s) ² _(_max2)) of the motor closed loop controller; wherein, if thedetermined value of the stator voltage (v_(s) ²) is greater than orequal to the value of the threshold voltage (v_(s) ² _(_max1)), thencontrolling operation of the motor in a flux weakening mode of operationuntil a value of a current component (i_(d)−Δi_(d)) in a d-axis of theorthogonal rotating reference frame reaches a maximum negative value(−i_(dmax)), or until the value of the stator voltage (v_(s) ²) is lessthan the value of the threshold voltage (v_(s) ² _(_max1)).

In a second main aspect, the invention provides a method of controllingoperation of a synchronous motor using a closed loop controller, themethod comprising: during constant power motor operation, determining avalue of a stator voltage (v_(s) ²) for an orthogonal rotating referenceframe of the motor; comparing the value of the determined stator voltage(v_(s) ²) to a threshold voltage (v_(s) ² _(_max1)) in the orthogonalrotating reference frame, said threshold voltage (v_(s) ² _(_max1))having a predetermined, selected or calculated value between a value ofa maximum stator voltage (v_(s) ² _(_max0)) in the orthogonal rotatingreference frame for a basic speed mode of operation of the motor and avalue of a maximum stator voltage (v_(s) ² _(_max2)) of the motor closedloop controller; wherein, if the determined value of the stator voltage(v_(s) ²) is greater than or equal to the value of the threshold voltage(v_(s) ² _(_max1)), then controlling operation of the motor in a fluxweakening mode of operation until a value of a current component(Target_i_(d)) in a d-axis of the orthogonal rotating reference framereaches a maximum negative value (−i_(dmax)) of the current component inthe d-axis, or, if the determined value of the stator voltage (v_(s) ²)is greater than or equal to the value of the threshold voltage (v_(s) ²_(_max1)) and if a target value of the stator current (Target_i_(s))less a value of a current component (i_(q) ²) in a q-axis is less than amaximum value (i_(dmax)) of the current component in the d-axis, thencontrolling operation of the motor in a flux weakening mode of operationby controlling by reducing a value of the current component(Target_i_(d)) in the d-axis based on the target value of the statorcurrent (Target_i_(s)) less the value of the current component (i_(q) ²)in the q-axis.

In a third main aspect, the invention provides a method of controllingoperation of a synchronous motor using a closed loop controller, themethod comprising: during a flux weakening mode of operation of themotor, controlling a value of a stator current component (Target_i_(d))in a d-axis of an orthogonal rotating reference frame of the motor byselecting a target value of the stator current component (Target_i_(d))in the d-axis from a look-up table by reference to motor speed(Fw_speed) values, wherein the look-up table values are obtained bymeasuring motor speed and corresponding values of the stator currentcomponent in the d-axis for a plurality of motor voltage supply values.

In a fourth main aspect, the invention provides a closed-loop controllerfor a motor, said controller comprising a non-transitorycomputer-readable medium storing machine-readable instructions and aprocessor, wherein, when the machine-readable instructions are executedby said processor, they configure the controller to start a synchronousmotor having a permanent magnet rotor and stator windings in accordancewith any of the methods of the first to third main aspects of theinvention.

In a fifth main aspect, the invention provides a synchronous motorincluding a closed loop controller according to the fourth main aspectof the invention.

The summary of the invention does not necessarily disclose all thefeatures essential for defining the invention; the invention may residein a sub-combination of the disclosed features.

The forgoing has outlined fairly broadly the features of the presentinvention in order that the detailed description of the invention whichfollows may be better understood.

Additional features and advantages of the invention will be describedhereinafter which form the subject of the claims of the invention. Itwill be appreciated by those skilled in the art that the conception andspecific embodiment disclosed may be readily utilized as a basis formodifying or designing other structures for carrying out the samepurposes of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and further features of the present invention will beapparent from the following description of preferred embodiments whichare provided by way of example only in connection with the accompanyingfigures, of which:

FIG. 1 is a block schematic diagram illustrating a synchronous motorwith a closed-loop controller in accordance with the invention;

FIG. 2 is a detailed block schematic diagram of a first embodiment ofthe closed-loop controller in accordance with the invention;

FIG. 3 is a detailed block schematic diagram of a second embodiment ofthe closed-loop controller in accordance with the invention;

FIG. 4 is a detailed block schematic diagram of a third embodiment ofthe closed-loop controller in accordance with the invention forimplementing the method of the first main aspect of the invention;

FIG. 5 illustrates operation of a synchronous motor in accordance withthe first main aspect of the invention using the closed-loop controllerof FIG. 4 ;

FIG. 6 also illustrates operation of a synchronous motor in accordancewith the first main aspect of the invention using the closed-loopcontroller of FIG. 4 ;

FIG. 7 is a detailed block schematic diagram of a fourth embodiment ofthe closed-loop controller in accordance with the invention forimplementing the method of the second main aspect of the invention;

FIG. 8 illustrates operation of a synchronous motor in accordance withthe second main aspect of the invention using the closed-loop controllerof FIG. 7 ;

FIG. 9 also illustrates operation of a synchronous motor in accordancewith the second main aspect of the invention using the closed-loopcontroller of FIG. 7 ;

FIG. 10 is a detailed block schematic diagram of a fifth embodiment ofthe closed-loop controller in accordance with the invention forimplementing the method of the third main aspect of the invention;

FIG. 11 is a look-up table for use in the third main aspect of theinvention;

FIG. 12 is a schematic diagram showing the delta and star (or Y) statorwindings configurations of a synchronous motor in which the closed-loopstart-up method in accordance with the invention can be implemented;

FIG. 13 is a schematic block diagram of a power stage for theclosed-loop motor control system in accordance with the invention forthe synchronous motor of FIG. 12 ;

FIG. 14 is a schematic diagram showing a six-wire configuration ofstator windings of a synchronous motor in which the closed-loop start-upmethod in accordance with the invention can be implemented;

FIG. 15 is a schematic block diagram of a power stage for theclosed-loop motor control system in accordance with the invention forthe synchronous motor of FIG. 14 ;

FIG. 16 is a schematic diagram showing a four-wire configuration ofstator windings of a synchronous motor in which the closed-loop start-upmethod in accordance with the invention can be implemented; and

FIG. 17 is a schematic block diagram of a power stage for theclosed-loop motor control system in accordance with the invention forthe synchronous motor of FIG. 16 .

DESCRIPTION OF PREFERRED EMBODIMENTS

The following description is of preferred embodiments by way of exampleonly and without limitation to the combination of features necessary forcarrying the invention into effect.

Reference in this specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the invention. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment, nor are separate or alternative embodimentsmutually exclusive of other embodiments. Moreover, various features aredescribed which may be exhibited by some embodiments and not by others.Similarly, various requirements are described which may be requirementsfor some embodiments, but not other embodiments.

It should be understood that the elements shown in the Figs. may beimplemented in various forms of hardware, software, or combinationsthereof. These elements may be implemented in a combination of hardwareand software on one or more appropriately programmed general-purposedevices, which may include a processor, a memory and input/outputinterfaces.

The present description illustrates the principles of the presentinvention. It will thus be appreciated that those skilled in the artwill be able to devise various arrangements that, although notexplicitly described or shown herein, embody the principles of theinvention and are included within its spirit and scope.

Moreover, all statements herein reciting principles, aspects, andembodiments of the invention, as well as specific examples thereof, areintended to encompass both structural and functional equivalentsthereof. Additionally, it is intended that such equivalents include bothcurrently known equivalents as well as equivalents developed in thefuture, i.e., any elements developed that perform the same function,regardless of structure.

Thus, for example, it will be appreciated by those skilled in the artthat the block diagrams presented herein represent conceptual views ofsystems and devices embodying the principles of the invention.

The functions of the various elements shown in the figures may beprovided through the use of dedicated hardware as well as hardwarecapable of executing software in association with appropriate software.When provided by a processor, the functions may be provided by a singlededicated processor, by a single shared processor, or by a plurality ofindividual processors, some of which may be shared. Moreover, explicituse of the term “processor” or “controller” should not be construed torefer exclusively to hardware capable of executing software, and mayimplicitly include, without limitation, digital signal processor (“DSP”)hardware, read-only memory (“ROM”) for storing software, random accessmemory (“RAM”), and non-volatile storage.

In the claims hereof, any element expressed as a means for performing aspecified function is intended to encompass any way of performing thatfunction including, for example, a) a combination of circuit elementsthat performs that function or b) software in any form, including,therefore, firmware, microcode, or the like, combined with appropriatecircuitry for executing that software to perform the function. Theinvention as defined by such claims resides in the fact that thefunctionalities provided by the various recited means are combined andbrought together in the manner which the claims call for. It is thusregarded that any means that can provide those functionalities areequivalent to those shown herein.

One advantage of the invention is that it can be implemented on anexisting closed-loop controller for synchronous operation withoutsignificant modification save for changes in the controller's controlalgorithm or algorithms. The closed-loop control algorithm in accordancewith the invention can be implemented by software, firmware, hardware,or any combination of the foregoing. It may be embodied as anapplication specific integrated circuit or chip.

FIG. 1 shows an exemplary embodiment of an improved closed-loopcontroller 100 for a synchronous motor 10 in accordance with concepts ofthe present invention. The synchronous motor 10 has a permanent magnetrotor 12 with a plurality of permanent magnets 14 and a stator 16 with aplurality of stator windings 18. Whilst the synchronous motor 10 isshown with the stator 16 surrounding the rotor 12 in a conventionalmanner, it will be understood that the concepts of the present inventionare equally applicable to a synchronous motor where the rotor surroundsthe stator, i.e., the stator is arranged internally of the rotor.

In the illustrated embodiment, the closed-loop controller 100 maycomprise a plurality of functional blocks 110 for performing variousfunctions thereof. For example, the closed-loop controller 100 maycomprise a suitably modified or suitably configured known vector-basedclosed-loop controller such as a direct torque control (DTC) closed-loopcontroller or a Field Oriented Control (FOC) closed-loop controller asdescribed in the publication entitled “Sensorless Field Oriented Controlof PMSM Motors” authored by Jorge Zambada, published by MicrochipTechnology Inc. in 2007 as paper AN1078, the content of which isincorporated herein by way of reference, and as illustrated in FIG. 2herein but modified as described herein in accordance with the conceptsof the invention.

Vector control of a synchronous motor can be summarized as follows:

(i) The 3-phase stator currents are measured. These measurementstypically provide values for i_(a) and i_(b). i_(c) is calculatedbecause i_(a), i_(b) and i_(c) have the following relationship:i _(a) +i _(b) +i _(c)=0.

(ii) The 3-phase currents are converted to a two-axis system. Thisconversion provides the variables i_(α) and i_(β) from the measuredi_(a) and i_(b) and the calculated i_(c) values. i_(α) and i_(β) aretime-varying quadrature current values as viewed from the perspective ofthe stator, i.e., a two-dimensional stationary orthogonal referenceframe or coordinate system.

(iii) The two-axis coordinate system is rotated to align with the rotorflux using a transformation angle calculated at the last iteration ofthe control loop. This conversion provides the I_(d) and I_(q) variablesfrom i_(α) and i_(β). I_(d) and I_(q) are the quadrature currentstransformed to the rotating coordinate system, a two-dimensionalrotating orthogonal reference frame or coordinate system. For steadystate conditions, I_(d) and I_(q) are constant.

(iv) Error signals are formed using I_(d), I_(q) and reference valuesfor each.

-   -   The I_(d) reference controls rotor magnetizing flux.    -   The I_(q) reference controls the torque output of the motor.    -   The error signals are input to PI controllers.    -   The output of the proportional integral (PI) controllers provide        V_(d) and V_(q), which is a voltage vector that will be sent to        the motor.

(v) A new transformation angle is estimated where v_(α), v_(β), i_(α)and i_(β) are the inputs. The new angle guides the FOC algorithm as towhere to place the next voltage vector.

(vi) The V_(d) and V_(q) output values from the PI controllers arerotated back to the stationary reference frame using the new angle. Thiscalculation provides the next quadrature voltage values v_(α) and v_(β).

(vii) The v_(α) and v_(β) values are transformed back to 3-phase valuesv_(a), v_(b) and v_(c). The 3-phase voltage values are used to calculatenew PWM duty cycle values that generate the desired voltage vector. Theentire process of transforming, PI iteration, transforming back andgenerating PWM is schematically illustrated in at least FIG. 2 .

The closed-loop controller 100 may, for example, be implemented usinglogic circuits and/or executable code/machine readable instructionsstored in a memory for execution by a processor 120 to thereby performfunctions as described herein. For example, the executable code/machinereadable instructions may be stored in one or more memories 130 (e.g.,random access memory (RAM), read only memory (ROM), flash memory,magnetic memory, optical memory, or the like) suitable for storing oneor more instruction sets (e.g., application software, firmware,operating system, applets, and/or the like), data (e.g., configurationparameters, operating parameters and/or thresholds, collected data,processed data, and/or the like), etc. The one or more memories 130 maycomprise processor-readable memories for use with respect to one or moreprocessors 120 operable to execute code segments of the closed-loopcontroller 100 and/or utilize data provided thereby to perform functionsof the closed-loop controller 100 as described herein. Additionally, oralternatively, the closed-loop controller 100 may comprise one or morespecial purpose processors (e.g., application specific integratedcircuit (ASIC), field programmable gate array (FPGA), graphicsprocessing unit (GPU), and/or the like configured to perform functionsof the closed-loop controller 100 as described herein.

In a broad aspect, the invention comprises using the closed-loopcontroller 100 of FIGS. 1 and 2 , e.g., using the modified closed loop(FOC) controller 200 of FIG. 2 , to implement the method of operatingthe synchronous motor 10 in a flux weakening mode. The closed-loopcontroller 100/200 may, as mentioned above, comprise any known, suitableclosed-loop controller for synchronous operation and may comprise theFOC controller 200 as described in “Sensorless Field Oriented Control ofPMSM Motors” of paper AN1078 or as described in the publication entitled“Sensorless PMSM Field-Oriented Control”, the FOC controller 200 beingsuitably modified or reconfigured to implement the method of operatingthe motor 10 in accordance with the invention.

In some embodiments, the module 140 may comprise a rotor position andspeed estimation module 140 of the modified FOC controller 200 of FIG. 2and the flux weakening signals in accordance with the invention maycomprise inputs to the module 140.

In some embodiments, the module 140 may comprise a rotor flux observermodule 150 of a type as described in pages 1-3 of the publicationentitled “improved Rotor Flux Observer for Sensorless Control of PMSMWith Adaptive Harmonic Elimination and Phase Compensation” authored byWei Xu et al, CES Transactions on Electrical Machines and Systems, vol.3, no. 2, June 2019, the content of which is herein incorporated byreference.

FIG. 3 shows a further embodiment of the modified FOC controller 200 ofthe invention. Like numerals are used to denote like parts as used inFIG. 2 .

The present invention therefore also seeks to supplement the knownclosed-loop method for operating a synchronous motor, especially a PMSM,by one of a number of novel methods of flux weakening as hereinafterdescribed.

The following describes a mathematical model of synchronous motors suchas PMSMs and all variables are in normalized units and established inthe d-q rotor reference frame. The stator voltage equations in the rotorreference frame are given as follows:

$\begin{matrix}{\begin{bmatrix}v_{d} \\v_{q}\end{bmatrix} = {{\begin{bmatrix}{R_{s} + {pL}_{d}} & {{- \omega}L_{q}} \\{\omega L_{d}} & {R_{s} + {pL}_{q}}\end{bmatrix}\begin{bmatrix}i_{d} \\i_{q}\end{bmatrix}} + \begin{bmatrix}0 \\{\omega\lambda}\end{bmatrix}}} & (1)\end{matrix}$

where:

v_(d) and v_(q): normalized d- and q-axis terminal voltages;

i_(d) and i_(q): normalized d- and q-axis armature currents;

R_(s): normalized stator resistance;

L_(d) and L_(q): normalized d- and q-axis stator inductances;

ω: electrical angular velocity in per-unit;

λ: permanent magnet flux linkage:

p: derivative operator.

For motor drives, the maximum current and voltage must be limited withinthe system limits. Considering both motor and inverter ratings, they canbe expressed as follows:v _(q) ² +v _(d) ² ≤v _(s max) ²  (2) andi _(q) ² +i _(d) ² ≤i _(s max) ²  (3),

where i_(s max) and v_(s max) are respectively the normalized maximumcurrent of the motor and the normalized maximum stator voltage which isequal to the maximum DC-link voltage of the motor system. The voltageand current limits affect the maximum-speed-with-rated torque capabilityand the maximum torque-producing capability of the motor drive system,i.e., the FOC controller 200, respectively. For an application such asan electric vehicle drivetrain, for example, it is desirable for themotor drive to possess a wide constant-power operating region by meansof flux weakening.

In a basic vector control of the motor 10 using the FOC controller 200,the stator d-axis current (i_(d)) is zero, i.e., “Target_i_(d)=0”. Thestator q-axis current (i_(q)) defines the motor torque by equation:Torque=ki _(q)  (4)

where k is the flux linkage constant for the motor 10.

Operation of the motor 10 is constrained by voltage (v_(s max)) andcurrent (i_(s max)) in accordance with equations (2) and (3) above. Inthe basic vector control operation of the motor 10, the motor 10 runs ina base speed mode where Target_i_(d)=0 until maximum voltage (v_(s max))and/or maximum current (i_(s max)) is reached.

It is possible to drive the motor 10 in a flux weakening mode whereTarget_i_(d)<0 to thereby spin the motor 10 at a higher speed than thebasic speed mode. The flux weakening methods of the invention allow forconstant power control of a motor 10 to have the same input power as forbasic speed operation but with significantly higher rotation whichprovides higher motor drive efficiency. Using the flux weakening methodsof the invention provides an extended speed range for operation of themotor 10 under constant power operation.

Flux weakening uses stator current components to counter thefixed-amplitude magnetic airgap flux generated by the rotor permanentmagnets 14 thereby allowing the motor 10 to spin faster than the basicspeed mode.

The simplified motor equations along the d and q-axes are as follows:e _(q) =v _(q) −i _(q) r−ωLi _(d)  (5) andv _(d) =i _(d) r−ωLi _(q)  (6),

where e_(q) is the back-emf of the motor 10;

-   -   r is the motor resistance;    -   L is the motor inductance; and    -   ω is the motor angular speed.

At the point where v_(q) ²+v_(d) ²=v_(s max) ², the angular speed (w) ofthe motor 10 and the back-emf (e_(q)) of the motor 10 reach theirrespective maximum values for the basic speed mode where i_(d)=0.

To implement flux weakening in accordance with the invention, it isnecessary to apply the condition i_(d)<0 from equation (5) such that theback-emf (e_(q)) of the motor 10 increases. The implication of this isthat the angular speed (ω) of the motor 10 can increase which is indeedthe case. This is equivalent to the stator current components (i_(d)) inthe d-axis countering the fixed-amplitude magnetic airgap flux generatedby the rotor permanent magnets 14 thereby allowing the motor 10 to spinfaster than the basic speed mode for the same input power, i.e., underconstant power operation.

Referring now to FIG. 4 which provides a detailed block schematicdiagram of a third embodiment of the closed-loop controller 100/200 inaccordance with the invention for implementing the method of the firstmain aspect of the invention. The closed-loop controller 100/200 of FIG.4 is largely the same as the closed loop controllers 100/200 of FIGS. 2and 3 . Consequently, like numerals are used to denote like parts asused in FIGS. 2 and 3 .

The closed loop controller 100/200 of FIG. 4 differs from those of FIGS.2 and 3 in that it shows a flux weakening module 175 inserted betweenthe d-axis and q-axis proportional integral (PI) controllers 180A,B andan inverse Park transform module 182, and a link 185 from the targeti_(d) input 186 to the flux weakening module 175. However, it should beunderstood that the method in accordance with the first main aspect ofthe invention can be implemented by any of the closed loop controllers100/200 of FIGS. 2-4 as the method requires no physical circuit changesto the closed loop controllers 100/200 but can be implemented bysuitable software changes to the algorithms implemented by the closedloop controllers 100/200. FIG. 4 is therefore a visual representation ofsome of the software changes that can be made to the various embodimentsof the closed loop controllers 100/200 for implementing the method ofthe first main aspect of the invention.

The following description of the implementation of the first main aspectof the invention refers to operation of a vacuum cleaner synchronousmotor 10 by way of example only but it will be understood that themethod described can be applied to any synchronous motor whose load maybe subject to changes and, in particular, whose load may be subjected tochanges by external forces such as wind in the case of a fan motor orblocking in the case of a vacuum cleaner motor, etc.

FIG. 5 illustrates operating stages of the vacuum cleaner synchronousmotor 10: stage 1 representing normal vacuum cleaner operation; stage 2representing blocking of the vacuum cleaner suction; stage 3representing operation of the vacuum cleaner motor 10 in a fluxweakening mode; and stage 4 representing return of operation of thevacuum cleaner to normal operation as per stage 1. In FIG. 5 , v_(s) ²_(_max2) comprises a value of a maximum stator voltage (v_(s) ²_(_max2)) of the motor closed loop controller 100/200, v_(s) ² _(_max0)comprises a value of a maximum stator voltage in the orthogonal rotatingreference frame for a basic speed mode of operation of the motor 10, andv_(s) ² _(_max1) comprises a predetermined, selected, or calculatedthreshold value.

It is assumed that the vacuum cleaner motor 10 is initially operatingnormally, i.e., at stage 1 of FIG. 5 .

When blocking of the vacuum cleaner occurs as per stage 2 in FIG. 5 ,the motor load drops, the motor speed (ω) and the motor back-emf (e_(q))increase. The increase in the motor back-emf (e_(q)) causes the statorcurrent component (i_(q)) in the q-axis to decrease. In the base speedmode of operation of the motor with constant power control, the PIcontroller 180A for the stator current component (i_(q)) in the q-axisof the closed loop controller 100/200 causes the stator voltagecomponent (v_(q)) in the q-axis to increase and this, in turn, causesthe stator voltage (v_(s)) to change according to: v_(s) ²≥v_(s) ²_(_max2). Under the blocking condition, the stator voltage (v_(s)) ofthe vacuum cleaner motor rises towards and may exceed the maximum statorvoltage (v_(s) ² _(_max2)) of the motor closed loop controller 100/200.

When v_(s) ²=v_(s) ² _(_max2), the motor closed loop controller 100/200may be configured to lock the value of v_(s) ²=v_(s) ² _(_max2). At thismoment with v_(s) ²>v_(s) ² _(_max1), the motor closed loop controller100/200 is configured to operate the motor 10 in a flux weakening modeof operation. Preferably, the motor closed loop controller 100/200implements the flux weakening mode of operation of the motor 10 suchthat it adjusts a value of the stator current component (i_(d)) in thed-axis to decrease. As the value of the stator current component (i_(d))in the d-axis is zero during normal operation, the motor closed loopcontroller 100/200 implements the flux weakening mode of operation ofthe motor 10 preferably by making the stator current component (i_(d))in the d-axis more or increasingly negative such that:Target_i _(d)=Target_i _(d) −Δi _(d)  (7)

where Δi_(d) comprises a target reduction in the value of the statorcurrent component (i_(d)) in the d-axis. The flux weakening mode ofoperation of the motor 10 continues with Target is becoming morenegative. As Target_i_(d) becomes more negative, the stator voltagecomponent (v_(d)) in the d-axis adjusts such as to make the statorcurrent component (i_(d)) in the d-axis more negative. The PIcontrollers 180A,B of the closed loop controller 100/200 cause the motor10 back-emf (e_(q)) and the motor speed (ω) to increase. As the motorspeed (ω) increases, this causes motor torque and the stator currentcomponent (i_(q)) in the q-axis to also increase. Consequently, controlof the motor 10 is based on adjustments to one or both of the values ofthe stator voltage components (v_(d), v_(q)) in the d-axis and theq-axis.

Under constant power control of the motor 10, any increase in the statorcurrent components (i_(d), i_(q)) implies that the stator voltagecomponents (v_(d), v_(q)) will decrease to keep the power constant asPower=v_(q)*i_(q)+v_(d)*i_(d). This suggests that the stator voltage(v_(s) ²) will drop as the Target_i_(d) and the stator current component(i_(d)) change to become more negative.

When the stator voltage (v_(s) ²) becomes less than threshold (v_(s) ²_(_max1)), i.e., v_(s) ²<v_(s) ² _(_max1), the Target_i_(d) and thestator current component (i_(d)) stop changing. Under this condition,the motor 10 is operating in the flux weakening mode.

When the vacuum cleaner blocking condition is partially removed ordisappears, the motor load increases and the motor speed (ω) drops. Forthe same Target_i_(d), the stator voltage component (v_(d)) in thed-axis also decreases as the motor speed (ω) decreases. Hence, thestator voltage (v_(s) ²) may decrease below the maximum stator voltage(v_(s) ² _(_max0)) in the orthogonal rotating reference frame for thebasic speed mode of operation of the motor 10 even though both thestator current component (i_(q)) and the stator voltage component(v_(q)) in the q-axis are increasing. Under this condition, the methodof the first main aspect of the invention includes stopping the fluxweakening mode of operation and controlling operation of the motor 10 tocause a value of the current component (i_(d)+Δi_(d)) in the d-axis toincrease until it reaches the value of the current component (i_(d)) inthe d-axis for the basic speed mode of operation of the motor such thatthe motor 10 returns to the basic speed mode of operation as per stage 4of FIG. 5 . In this instance, the current component (i_(d)+Δi_(d)) inthe d-axis is increased according to:Target_i _(d)=Target_i _(d) +Δi _(d).  (8)

FIG. 6 also illustrates operation of the synchronous motor 10 inaccordance with the first main aspect of the invention using theclosed-loop controller 1001200 of FIG. 4 .

The following description of this example of the implementation of thefirst main aspect of the invention also refers to operation of a vacuumcleaner synchronous motor 10 by way of example only. In this instance,the motor 10 is being operated in a constant speed mode.

Referring to both FIGS. 5 and 6 , at point “1” in FIG. 6 , the motor 10is being operated in its base speed mode where the stator voltage (v_(s)²) is less than the threshold (v_(s) ² _(_max1)), i.e., v_(s) ²<v_(s) ²_(_max1) (FIG. 5 ). When the motor 10 load increases, the stator currentcomponent (i_(q)) in the q-axis must increase to maintain constant speedand, in turn, the stator voltage component (v_(q)) in the q-axis alsoincreases which then causes the stator voltage (v_(s) ²) to increaseabove the threshold (v_(s) ² _(_max1)), i.e., v_(s) ²>v_(s) ² _(_max1).At this point, control of operation of the motor 10 by the closed loopcontroller 100/200 changes to a flux weakening mode of operation asindicated by point “2” in FIG. 6 . Both of the stator current components(i_(d), i_(q)) in the d-axis and the q-axis so that the speed of themotor 10 increases back to its original basic speed with the statorvoltage (v_(s) ²) less again than the threshold (v_(s) ² _(_max1), i.e.,v_(s) ²<v_(s) ² _(_max1) with operation of the motor 10 moving to point“3” in FIG. 6 with the product of the stator current components (i_(d),i_(q)) in the d-axis and the q-axis remaining less than the maximumstator current (v_(s) ²) according to the relationship:i _(d) ² +i _(q) ² <i _(s_max) ².  (9)

When the load of the motor 10 increases, the stator current component(i_(q)) in the q-axis further must increase further to maintain the sameconstant such that the stator voltage (v_(s) ²) increases above thethreshold (v_(s) ² _(_max1)), i.e., v_(s) ²>v_(s) ² _(_max1). In thiscase, both of the stator current components (i_(d), i_(q)) in the d-axisand the q-axis increases so that speed of the motor is maintained at itsconstant speed. In the case where the product of the stator currentcomponents (i_(d), i_(q)) in the d-axis and the q-axis become equal tothe maximum stator current (i_(s) ²) according to the relationship:i_(d) ²+i_(q) ²=i_(s_)max², the stator current component (i_(d)) in thed-axis stops increasing. The stator current component (i_(q)) in theq-axis and stator voltage component (v_(q)) in the q-axis also stopincreasing when the product of the stator voltage components (v_(d),v_(q)) in the d-axis and the q-axis become equal to the maximum statorvoltage (v_(s) ² _(_max2)) of the motor closed loop controller 100/200according to the relationship: v_(d) ²+v_(q) ²=v_(s) ² _(_max2).Operation of the motor 10 moves to point “4” in FIG. 6 which representsthe maximum motor speed that can be obtained at the level of motorloading. When the load of the motor 10 decreases to its base speed modelevel again, the stator voltage (v_(s) ²) becomes less than the maximumstator voltage (v_(s) ² _(_max0)) in the orthogonal rotating referenceframe for the basic speed mode of operation of the motor 10, i.e., v_(s)²<v_(s) ² _(_max0) and the stator current components (i_(d), i_(q)) inthe d-axis decrease until the stator current component (i_(d)) in thed-axis becomes equal to zero again. At this point, the operation of themotor 10 returns to the basic speed mode of operation at point “1” inFIG. 6 and the flux weakening mode of operation has ended.

The first main aspect of the invention provides a method of controllingoperation of the motor 10 using the suitably modified closed loopcontroller 100/200 of any of FIGS. 2-4 where, during constant power orconstant speed motor operation, the method includes determining thevalue of the stator voltage (v_(s) ²) for the orthogonal rotatingreference frame of the motor 10. The value of the determined statorvoltage (v_(s) ²) is compared to the threshold voltage (v_(s) ²_(_max1)). The threshold voltage (v_(s) ² _(_max1)) has a valueintermediary of the value of the maximum stator voltage (v_(s) ²_(_max0)) for the motor basic speed mode of operation and the value ofthe maximum stator voltage (v_(s) ² _(_max1)) of the motor closed loopcontroller 100/200. If it is determined that the value of the statorvoltage (v_(s) ²) is greater than or equal to the value of the thresholdvoltage (v_(s) ² _(_max1)), then the closed loop controller 100/200 isconfigured to control operation of the motor in a flux weakening mode ofoperation until a value of the current component (i_(d)−Δi_(d)) in ad-axis reaches a maximum negative value (−i_(dmax)), or until the valueof the stator voltage (v_(s) ²) is less than the value of the thresholdvoltage (v_(s) ² _(_max1)).

The step of operating the motor 10 in a flux weakening mode of operationmay include causing a value of the current component (i_(d)−Δi_(d)) inthe d-axis to reduce below a value of the current component (i_(d)) inthe d-axis for the basic speed mode of operation of the motor 10 untilthe value of the current component (i_(d)−Δi_(d)) in the d-axis reachesthe maximum negative value (−i_(dmax)), or until the value of the statorvoltage (v_(s) ²) is less than the value of the threshold voltage (v_(s)² _(_max1)).

Optionally, the method of the first main aspect of the invention mayinclude the step of, if the determined value of the stator voltage(v_(s) ²) is less than the value of the maximum stator voltage (v_(s) ²_(_max0)) for the basic speed mode of operation of the motor 10, thenstopping the flux weakening mode of operation and controlling operationof the motor 10 to cause a value of the current component (i_(d)+Δi_(d))in the d-axis to increase until it reaches the value of the currentcomponent (i_(d)) in the d-axis for the basic speed mode of operation ofthe motor 10.

Optionally, the method of the first main aspect of the invention mayinclude the step of, if the determined value of the stator voltage(v_(s) ²) is greater than or equal to the value of the maximum statorvoltage (v_(s) ² _(_max2)) of the motor closed loop controller 100/200,then controlling operation of the motor 10 to cause a value (v_(q)′) ofa voltage component in the q-axis of the orthogonal rotating referenceframe to have a value derived from a difference between the value of themaximum stator voltage (v_(s) ² _(_max2)) of the motor closed loopcontroller 100/200 and a value (v_(d) ²) of a voltage component in thed-axis of the orthogonal rotating reference frame. The value of thevoltage component (v_(q)′) in the q-axis may be determined from:v _(q)′=√{square root over (Vs ²_max2−v _(d) ²)}.  (10)

Optionally, the method of the first main aspect of the invention mayinclude the step of, if the determined value of the stator voltage(v_(s) ²) is greater than or equal to the value of the maximum statorvoltage (v_(s) ² _(_max2)) of the motor closed loop controller 100/200,then controlling operation of the motor 10 to cause a value (v_(q)′) ofa voltage component in the q-axis of the orthogonal rotating referenceframe to have a value equal to a value of the voltage component (v_(q))in the q-axis for the basic speed mode of operation of the motor 10.

Referring now to FIG. 7 which provides a detailed block schematicdiagram of a fourth embodiment of the closed-loop controller 100/200 inaccordance with the invention for implementing the method of the secondmain aspect of the invention. The closed-loop controller 100/200 of FIG.7 is largely the same as the closed loop controllers 100/200 of FIGS.2-4 . Consequently, like numerals are used to denote like parts as usedin FIGS. 2-4 .

The closed loop controller 100/200 of FIG. 7 differs from those of FIGS.2-4 in that, in addition to showing a flux weakening module 175 insertedbetween the d-axis and q-axis PI controllers 180A,B and an inverse Parktransform module 182, it includes d-axis and q-axis current inputs187A,B from a Park transform module 188 to the flux weakening module175. However, it should be understood that the method in accordance withthe second main aspect of the invention can be implemented by any of theclosed loop controllers 100/200 of FIGS. 2-4 and 7 as the methodrequires no physical change to the closed loop controllers 100/200 butcan be implemented by suitable software changes to the algorithms of theclosed loop controllers 100/200. FIG. 7 is therefore a visualrepresentation of some of the software changes that can be made to thevarious embodiments of the closed loop controllers 100/200 forimplementing the method of the second main aspect of the invention.

The following description of the implementation of the second mainaspect of the invention also refers to operation of a vacuum cleanersynchronous motor 10 by way of example only but it will again beunderstood that the method described can be applied to any synchronousmotor whose load may be subject to changes during operation of the motor10.

The power of the motor 10 is defined by either of the followingequations:power=v _(q) *i _(q) +v _(d) *i _(d) or  (11)power=e _(q) +*i _(q) +i _(s) ² r,  (12)

where r is the resistance of the stator 16.

Drive efficiency of the motor 10 is defined by following equation:

$\begin{matrix}{{Efficiency} = \frac{e_{q}i_{q}}{{e_{q}i_{q}} + {i_{s}^{2}r}}} & (13)\end{matrix}$

For a field or flux weakening mode of operation of the motor 10 bystator current, the quantity i_(s) ²r is defined as a target statorcurrent value (Target_i_(s) ²) where:Target_i _(s) ² =i _(s) ² =i _(q) ² +i _(d) ² ≤i _(s max) ²,  (14)

where i_(s max) ² is a maximum value of the stator current.

Under constant power control operation of the motor 10, the motor powerdefined by power=e_(q)*i_(q)+i_(s) ²r remains constant too. Therefore,the drive efficiency of the motor 10 also remains constant during a fluxweakening mode of operation of the motor 10. It is therefore preferredthat the target stator current value (Target_i_(s) ²) is set orcontrolled to be as low as possible to maximize motor drive efficiency.

During a flux weakening mode of operation of the motor 10, the operatingpoint defined by the stator current components (i_(d), i_(q)) isconfined within a circle defined by the target stator current value(Target_i_(s) ²) as shown in FIG. 9 . The pair of values (e_(q), i_(q))comprising the back-emf (e_(q)) of the motor 10 and the stator currentcomponent (i_(q)) in the q-axis is controlled under a constant powercondition by the closed loop controller 100/200 d-axis and q-axis PIcontrollers 180A,B. This results in the stator current component (i_(q))in the q-axis automatically defining both the back-emf value (e_(q)) ofthe motor 10 and the stator current component (i_(s)) in the d-axisduring flux weakening mode of operation of the motor 10.

FIG. 8 illustrates the four stages of operating the motor 10 using thestator current as the control parameter including the flux weakeningmode of operation of the motor 10.

In stage 1, the motor 10 on start-up is controlled to run in the basicspeed mode where the stator current component (i_(d)) in the d-axis isequal to zero. In this case, the speed of the motor 10 increases as thevalue of stator current component (i_(q)) in the q-axis increases. Inthe basic speed mode of operation of the motor 10, the motor torque issmall and the motor back-emf (e_(q)) is small. Also, as the value ofstator current component (i_(q)) in the q-axis increases, the value ofthe motor back-emf (e_(q)) increases.

In stage 2 of FIG. 8 , the motor 10 is still in the basic speed mode ofoperation with the stator current component (i_(d)) in the d-axis isequal to zero, but with the speed of the motor 10 continuing to increaseas the value of stator current component (i_(q)) in the q-axis increasessuch that the value of the stator voltage (v_(s) ²) approaches thethreshold (v_(s) ² _(_max1)). In this stage, the motor 10 has a largetorque and a small back-emf (e_(q)).

In stage 3, the load of the motor 10 changes due to, for example,blocking of the vacuum cleaner. The closed loop controller 100/200implements the flux weakening mode of operation of the motor where thestator current component (i_(d)) in the d-axis is controlled to be lessthan zero such that the motor speed increases as the value of statorcurrent component (i_(d)) in the d-axis increases where the statorcurrent component (i_(d)) in the d-axis is controlled in accordance withthe relationship:i _(d)≈−√{square root over (Target_is ² −ipf(i _(q))₂)}.  (15)

In stage 4 where the vacuum cleaner in this example is now partiallyblocked, the motor 10 continues in the flux weakening mode of operationwith the stator current component (i_(d)) in the d-axis is controlled tobe less than zero. The speed of the motor 10 decreases causing the valueof the stator current component (i_(q)) in the q-axis to increase wherethe stator current component (i_(d)) in the d-axis continues to becontrolled in accordance with the above relationship (15). When thevalue of the stator current component (i_(d)) in the d-axis becomeszero, the flux weakening mode of operation is ended and the closed loopcontroller 100/200 returns control of the motor 10 to the basic speedmode of operation (stage 1).

Referring again to FIG. 9 which provides an illustration by way ofexample only of operation of the synchronous motor 10 in accordance withthe second main aspect of the invention using the closed-loop controller100/200 of FIG. 7 . At point “1” in FIG. 9 , the vacuum cleaner is notblocked and the motor 10 is controlled by the closed loop controller100/20 to run in the basic speed mode where the value of the statorvoltage (v_(s) ²) is less than the threshold (v_(s) ² _(_max1)). Whenthe vacuum cleaner becomes blocked, the value of the stator currentcomponent (i_(q)) in the q-axis decreases and the closed loop controller100/200 implements the flux weakening mode of operation as indicated atpoint “2” in FIG. 9 . The stator current components (i_(d), i_(q)) bothdecrease until i_(d) ²+i_(q) ²=Target_i_(s) ² and operation of the motor10 move to point “3” in FIG. 9 . When the vacuum cleaner becomes lessblocked such as half-blocked, the motor 10 will operate such that i_(d)²+i_(q) ² Target_i_(s) ². Hence, the stator current component (i_(d)) inthe d-axis decreases, the stator current component (i_(q)) in the q-axisdecreases until stator current component (i_(d)) in the d-axis againequals zero and the motor 10 operation moves to point “4” in FIG. 9 andreturns to the basic speed mode of operation.

The method in accordance with the second aspect of the inventiontherefore provides a method of controlling operation the motor 10 usinga suitable modified closed loop controller 100/200. During constantpower motor operation, the closed loop controller 100/200 determines avalue of the stator voltage (v_(s) ²) for the orthogonal rotatingreference frame of the motor 10. The determined stator voltage (v_(s) ²)is compared to the threshold voltage (v_(s) ² _(_max1)). If thedetermined value of the stator voltage (v_(s) ²) is greater than orequal to the value of the threshold voltage (v_(s) ² _(_max1)), then themotor 10 is controlled to operate in a flux weakening mode until a valueof a current component (Target_i_(d)) in the d-axis reaches a maximumnegative value (−i_(dmax)). Or, if the determined value of the statorvoltage (v_(s) ²) is greater than or equal to the value of the thresholdvoltage (v_(s) ² _(_max1)) and if a target value of the stator current(Target_i_(s)) less a value of a current component (i_(q) ²) in a q-axisis less than a maximum value (i_(dmax)) of the current component in thed-axis, then the motor 10 is controlled to operate in a flux weakeningmode of operation by reducing a value of the current component(Target_i_(d)) in the d-axis based on the target value of the statorcurrent (Target_i_(s)) less the value of the current component (i_(q))in the q-axis. In the flux weakening mode, the value of the currentcomponent (Target_i_(d)) in the d-axis may be reduced according to theequation:Target_i _(d)=−√{square root over (Target_is ² −ipf(i _(q))²)}.  (16)

Referring now to FIG. 10 which provides a detailed block schematicdiagram of a fifth embodiment of the closed-loop controller 100/200 inaccordance with the invention for implementing the method of the thirdmain aspect of the invention. The closed-loop controller 100/200 of FIG.10 is largely the same as the closed loop controllers 100/200 of FIGS.2-4 and 7 . Consequently, like numerals are used to denote like parts asused in FIGS. 2-4 and 7 .

The closed loop controller 100/200 of FIG. 10 differs from those ofFIGS. 2-4 and 7 in that the flux weakening module 175 is connected tothe Target_i_(d) input 186 of the closed loop controller 100/200 andreceives as inputs the estimated speed (w) from the position and speedestimator module 140/150 as well as the controller DC line voltage.Another difference is that the flux weakening module 175 as seen inFIGS. 4 and 7 is replaced by a stator voltage component (v_(q)) in theq-axis adjustment module 192, being placed between the d-axis and q-axisPI controllers 180A,B and the inverse Park transform module 182.However, it should be understood that the method in accordance with thethird main aspect of the invention can be implemented by any of theclosed loop controllers 100/200 of FIGS. 2-4 and 7 as the methodrequires no physical change to the closed loop controllers 100/200 butcan be implemented by suitable software changes to the algorithms of theclosed loop controllers 100/200. FIG. 10 is therefore a visualrepresentation of some of the changes that can be made to the variousembodiments of the closed loop controllers 100/200 for implementing themethod of the third main aspect of the invention.

For the motor 10 where it is known when and how the flux weakening modeof operation is to be implemented, it is possible to tabulate the motorspeed (denoted herein as “FW_speed”) versus the target stator currentcomponent (Target_i_(d)) in the d-axis and construct a flux weakening(FW) look-up table stored in the memory 130 of the closed loopcontroller 100/200. An example of a FW look-up table 194 is shown inFIG. 11 .

For flux weakening mode of operation of the motor 10 under the controlof motor speed, the “F/W_speed; Target_i_(d)” pairs in the look-up table194 are obtained by measurement of the motor operation under specifiedconditions, i.e., measurements will be taken of the speed of the motor10 for certain motor DC supply voltage over the closed loop controllerbus voltage (denoted herein as “V_(nominal)”). Whenever the motor DCsupply voltage over the closed loop controller bus voltage (V_(BUS))deviates V_(nominal) an adjustment/compensation on the FW_speed index(left-most column in FIG. 11 ) of the look-up table 194 is required.

FW_speed is calculated as follows prior to table look-up and possiblelinear approximation:

$\begin{matrix}{{Fw\_ speed} = \frac{V_{nominal} \times {Motor}{speed}}{V_{BUS}}} & (17)\end{matrix}$

The following description of the implementation of the second mainaspect of the invention also refers to operation of a vacuum cleanersynchronous motor 10 by way of example only but it will again beunderstood that the method described can be applied to any synchronousmotor whose load may be subject to changes during operation of the motor10.

Referring to the look-up table 194 of FIG. 11 , for Fw_speed betweenFw_speed(0) and Fw_speed(end), the Target_i_(d) value will be selectedfrom the table 194 but may be calculated by a linear approximation basedon the respective FW_speed; Target_i_(d) pair listed in the FW table194. For example, if the Fw_speed is between Fw_speed(n) andFw_speed(n−1) of the FW table 194, the Target_i_(d) can be calculated asfollows:

${Target\_ id} = {\left( \frac{{{Target\_ id}(n)} - {{Target\_ id}\left( {n - 1} \right)}}{{{Fw\_ speed}(n)} - {{Fw\_ speed}\left( {n - 1} \right)}} \right)\left( {{Fw\_ speed} -} \right.}$Fw_speed(n − 1)) + Targetid(n − 1)

For Fw_speed smaller than the Fw_speed(0) (i.e., index 0 in the FW table194) then the value of the target is will be set to zero(Target_i_(d)=0).

For Fw_speed larger than the Fw_speed(end), (i.e., index 3 in the FWtable 194), the value of the target is will be set to −0.165(Target_i_(d)=−0.165) in this embodiment.

It will be understood that the actual values of Target_i_(d) fordifferent scenarios will be dependent on the measured FW_speed;Target_i_(d) pairs in the FW table 194.

The method in accordance with the third aspect of the inventiontherefore provides a method of controlling operation the motor 10 usinga suitably modified closed loop controller 100/200. During a fluxweakening mode of operation of the motor 10, the closed loop controller100/200 controls a value of a stator current component (Target_i_(d)) ina d-axis by selecting a target value of the stator current component(Target_i_(d)) in the d-axis from the look-up table 194 by reference tomotor speed (Fw_speed) values and/or by linear approximation of aselected pair of motor speed (Fw_speed) value and stator currentcomponent (Target_i_(d)) value.

The stator voltage component (v_(q)) in the q-axis adjustment module 192is optional. The q-axis adjustment module 192 is configured to implementto implement equation (2). The method includes determining the value ofa stator voltage (v_(s) ²) and, if the determined value of the statorvoltage (v_(s) ²) is greater than or equal to the value of the maximumstator voltage (v_(s) ² _(_max2)) of the closed loop controller 100/200,then controlling operation of the motor 10 to cause a value (v_(q)′) ofa voltage component in the q-axis to have a value derived from adifference between the value of the maximum stator voltage (v_(s) ²_(_max2)) of the motor closed loop controller 100/200 and the value(v_(d) ²) of a voltage component in the d-axis. The value of the voltagecomponent (v_(q)′) in the q-axis may be determined from equation (10).

The method may include, if the determined value of the stator voltage(v_(s) ²) is greater than or equal to the value of the maximum statorvoltage (v_(s) ² _(_max2)) of the motor closed loop controller 100/200,then controlling operation of the motor 10 to cause the value (v_(q)′)of the voltage component in the q-axis of the orthogonal rotatingreference frame to have a value equal to a value of the voltagecomponent (v_(q)) in the q-axis for the basic speed mode of operation ofthe motor.

The closed-loop motor operating method according to the various aspectsof the invention can be utilized in synchronous motors 10 with variousstator winding configurations as illustrated by FIGS. 12-17 .

FIG. 12 is a schematic diagram showing the conventional delta and star(or Y) stator windings configurations of the synchronous motor 10 whilstFIG. 13 provides a schematic block diagram of a 3-phase powerstage/bridge 160 for the closed-loop controller 100/200 for thesynchronous motor 10 of FIG. 1 . Two or more of the outputs of the3-phase bridge module 160 of the closed-loop controller 100/200 of FIG.12 comprising two or more of the sensed currents denoted as “I_(A)”,“I_(B)” and “I_(C)” in FIG. 13 are fed to the Clarke Transform module170 of the closed-loop controller 100/200 for processing. Typically, thesensed currents “I_(A)”, “I_(B)” are selected for the Clarke Transformmodule 170.

In contrast to FIG. 12 , FIG. 14 provides a schematic diagram showing asix-wire configuration of the stator windings 18 of the synchronousmotor 10 whilst FIG. 15 provides a schematic block diagram of a 3-phasepower stage/bridge 160 for the closed-loop controller 100/200 for thesynchronous motor 10 with this stator winding configuration. Thesix-wire stator winding configuration results from none of the threestator windings 18 having any common connection points in contrast tothe conventional delta or star stator winding configurations of FIG. 12which have at least one common connection point between at least two ofthe stator windings 18.

FIG. 16 provides a schematic diagram showing a four-wire configurationof 2-phase stator windings 18 of the synchronous motor 10 in which theclosed-loop start-up method in accordance with the invention can beimplemented. FIG. 17 provides a schematic block diagram of a powerstage/bridge 160 for the closed-loop motor controller 100/200 in whichthe sensed currents “I_(A)”, “I_(B)” are fed into the Clarke Transformmodule 170.

Described are methods of controlling operation of a synchronous motor ina flux weakening mode. One such method comprises, during constantpower/speed motor operation, determining a value of a stator voltage(v_(s) ²) for an orthogonal rotating reference frame of the motor.Comparing the value of the determined stator voltage (v_(s) ²) to athreshold voltage (v_(s) ² _(_max1)), said threshold voltage (v_(s) ²_(_max1)) having a value between that of a maximum stator voltage (v_(s)² _(_max0)) for a basic speed mode of operation of the motor and that ofa maximum stator voltage (v_(s) ² _(_max2)) of the motor closed loopcontroller. If the determined value of the stator voltage (v_(s) ²) isgreater than or equal to the value of the threshold voltage (v_(s) ²_(_max1)), then controlling operation of the motor in a flux weakeningmode of operation until a value of a current component (i_(d)−Δi_(d)) ina d-axis reaches a maximum negative value (−i_(dmax)), or until thevalue of the stator voltage (v_(s) ²) is less than the value of thethreshold voltage (v_(s) ² _(_max1)).

The invention also provides a closed-loop controller for a motor, saidcontroller comprising a non-transitory computer-readable medium storingmachine-readable instructions and a processor, wherein, when themachine-readable instructions are executed by said processor, theyconfigure the controller to start a synchronous motor having a permanentmagnet rotor and stator windings in accordance with any of the methodsof the first to third main aspects of the invention.

The invention also provides a synchronous motor including the closedloop controller of the preceding paragraph.

The apparatus described above may be implemented at least in part insoftware. Those skilled in the art will appreciate that the apparatusdescribed above may be implemented at least in part using generalpurpose computer equipment or using bespoke equipment.

Here, aspects of the methods and apparatuses described herein can beexecuted on any apparatus comprising the communication system. Programaspects of the technology can be thought of as “products” or “articlesof manufacture” typically in the form of executable code and/orassociated data that is carried on or embodied in a type ofmachine-readable medium. “Storage” type media include any or all of thememory of the mobile stations, computers, processors or the like, orassociated modules thereof, such as various semiconductor memories, tapedrives, disk drives, and the like, which may provide storage at any timefor the software programming. All or portions of the software may attimes be communicated through the Internet or various othertelecommunications networks. Such communications, for example, mayenable loading of the software from one computer or processor intoanother computer or processor. Thus, another type of media that may bearthe software elements includes optical, electrical, and electromagneticwaves, such as used across physical interfaces between local devices,through wired and optical landline networks and over various air-links.The physical elements that carry such waves, such as wired or wirelesslinks, optical links, or the like, also may be considered as mediabearing the software. As used herein, unless restricted to tangiblenon-transitory “storage” media, terms such as computer or machine“readable medium” refer to any medium that participates in providinginstructions to a processor for execution.

While the invention has been illustrated and described in detail in thedrawings and foregoing description, the same is to be considered asillustrative and not restrictive in character, it being understood thatonly exemplary embodiments have been shown and described and do notlimit the scope of the invention in any manner. It can be appreciatedthat any of the features described herein may be used with anyembodiment. The illustrative embodiments are not exclusive of each otheror of other embodiments not recited herein. Accordingly, the inventionalso provides embodiments that comprise combinations of one or more ofthe illustrative embodiments described above. Modifications andvariations of the invention as herein set forth can be made withoutdeparting from the spirit and scope thereof, and, therefore, only suchlimitations should be imposed as are indicated by the appended claims.

In the claims which follow and in the preceding description of theinvention, except where the context requires otherwise due to expresslanguage or necessary implication, the word “comprise” or variationssuch as “comprises” or “comprising” is used in an inclusive sense, i.e.,to specify the presence of the stated features but not to preclude thepresence or addition of further features in various embodiments of theinvention.

It is to be understood that, if any prior art publication is referred toherein, such reference does not constitute an admission that thepublication forms a part of the common general knowledge in the art.

The invention claimed is:
 1. A method of controlling operation of asynchronous motor using a closed loop controller, the method comprising:during constant power or constant speed motor operation, determining avalue of a stator voltage (v_(s) ²) for an orthogonal rotating referenceframe of the motor; comparing the value of the determined stator voltage(v_(s) ²) to a threshold voltage (v_(s) ² _(_max1)) in the orthogonalrotating reference frame, said threshold voltage (v_(s) ² _(_max1))having a predetermined, selected, or calculated value between a value ofa maximum stator voltage (v_(s) ² _(_max0)) in the orthogonal rotatingreference frame for a basic speed mode of operation of the motor and avalue of a maximum stator voltage (v_(s) ² _(_max2)) of the motor closedloop controller; wherein, if the determined value of the stator voltage(v_(s) ²) is greater than or equal to the value of the threshold voltage(v_(s) ² _(_max1)), then controlling operation of the motor in a fluxweakening mode of operation to cause a value of a current component(i_(d)−Δi_(d)) in a d-axis of the orthogonal rotating reference frame toreduce below a value of the current component (i_(d)) in said d-axis forthe basic speed mode of operation of the motor until the value of thecurrent component (i_(d)−Δi_(d)) reaches a maximum negative value(−i_(dmax)), or until the value of the stator voltage (v_(s) ²) is lessthan the value of the threshold voltage (v_(s) ² _(_max1)); and wherein,if the determined value of the stator voltage (v_(s) ²) becomes greaterthan or equal to the value of the maximum stator voltage (v_(s) ²_(_max2)) of the motor closed loop controller, then controllingoperation of the motor to cause a value (v_(g)′) of a voltage componentin a q-axis of the orthogonal rotating reference frame to have a valuederived from a difference between the value of the maximum statorvoltage (v_(s) ² _(_max2)) of the motor closed loop controller and avalue (v_(d) ²) of a voltage component in the d-axis of the orthogonalrotating reference frame.
 2. The method of claim 1, wherein the methodincludes determining values of stator voltage components (v_(d) ², v_(q)²) in both the d-axis and the q-axis of the orthogonal rotatingreference frame when determining the value of said stator voltage (v_(s)²) where v_(s) ²=v_(d) ²+v_(d) ².
 3. The method of claim 1, wherein, ifthe determined value of the stator voltage (v_(s) ²) becomes less thanthe value of the maximum stator voltage (v_(s) ² _(_max0)) for the basicspeed mode of operation of the motor, then stopping the flux weakeningmode of operation and controlling operation of the motor to cause avalue of the current component (i_(d)+Δi_(d)) in the d-axis to increaseuntil it reaches the value of the current component (i_(d)) in thed-axis for the basic speed mode of operation of the motor.
 4. The methodof claim 1, wherein the value of the voltage component (v_(q)′) in theq-axis is determined from:v _(q)′=√{square root over (Vs ²_max2−v _(d) ²)}.
 5. A method ofcontrolling operation of a synchronous motor using a closed loopcontroller, the method comprising: during constant power motoroperation, determining a value of a stator voltage (v_(s) ²) for anorthogonal rotating reference frame of the motor; comparing the value ofthe determined stator voltage (v_(s) ²) to a threshold voltage (v_(s) ²_(_max1)) in the orthogonal rotating reference frame, said thresholdvoltage (v_(s) ² _(_max1)) having a predetermined, selected, orcalculated value between a value of a maximum stator voltage (v_(s) ²_(_max0)) in the orthogonal rotating reference frame for a basic speedmode of operation of the motor and a value of a maximum stator voltage(v_(s) ² _(_max2)) of the motor closed loop controller; wherein, if thedetermined value of the stator voltage (v_(s) ²) is greater than orequal to the value of the threshold voltage (V_(s) ² _(_max1)), thencontrolling operation of the motor in a flux weakening mode of operationuntil a value of a current component (Target_i_(d)) in a d-axis of theorthogonal rotating reference frame reaches a maximum negative value(−i_(dmax)) of the current component in the d-axis, or, if thedetermined value of the stator voltage (v_(s) ²) is greater than orequal to the value of the threshold voltage (v_(s) ² _(_max1)) and if atarget value of the stator current (Target_i_(s)) less a value of acurrent component (i_(q) ²) in a q-axis is less than a maximum value(i_(dmax)) of the current component in the d-axis, then controllingoperation of the motor in a flux weakening mode of operation by reducinga value of the current component (Target_i_(d)) in the d-axis based onthe target value of the stator current (Target_i_(s)) less the value ofthe current component (i_(q) ²) in the q-axis; and wherein the methodincludes determining values of the target stator current (Target_i_(s))based on the equation:Target_is ² =i _(s) ² =i _(q) ² +i _(d) ² ≤i _(s max) ².
 6. The methodof claim 5, wherein, in the flux weakening mode of operation, the valueof the current component (Target_i_(d)) in the d-axis is reducedaccording to the equation:Target_id=−√{square root over (Target_is ² −ipf(i _(q))²)}.
 7. Themethod of claim 5, wherein the method includes determining values ofstator voltage components (v_(d) ², v_(q) ²) in both the d-axis and aq-axis of the orthogonal rotating reference frame when determining thevalue of said stator voltage (v_(s) ²) where v_(s) ²=v_(d) ²+v_(q) ². 8.The method of claim 5, wherein, if the determined value of the statorvoltage (v_(s) ²) is greater than or equal to the value of the maximumstator voltage (v_(s) ² _(_max2)) of the motor closed loop controller,then controlling operation of the motor to cause a value (v_(q)′) of avoltage component in the q-axis of the orthogonal rotating referenceframe to have a value derived from a difference between the value of themaximum stator voltage (v_(s) ² _(_max2)) of the motor closed loopcontroller and a value (v_(d) ²) of a voltage component in the d-axis ofthe orthogonal rotating reference frame.
 9. The method of claim 8,wherein the value of the voltage component (v_(q)′) in the q-axis isdetermined from:v _(q)′=√{square root over (Vs ²_max2−v _(d) ²)}.
 10. The method ofclaim 5, wherein, if the determined value of the stator voltage (v_(s)²) is greater than or equal to the value of the maximum stator voltage(v_(s) ² _(_max2)) of the motor closed loop controller, then controllingoperation of the motor to cause a value (v_(q)′) of a voltage componentin the q-axis of the orthogonal rotating reference frame to have a valueequal to a value of the voltage component (v_(q)) in the q-axis for thebasic speed mode of operation of the motor.
 11. A method of controllingoperation of a synchronous motor using a closed loop controller, themethod comprising: during a flux weakening mode of operation of themotor, controlling a value of a stator current component (Target_i_(d))in a d-axis of an orthogonal rotating reference frame of the motor byselecting a target value of the stator current component (Target_i_(d))in the d-axis from a look-up table by reference to motor speed(Fw_speed) values, wherein the look-up table values are obtained bymeasuring motor speed and corresponding values of the stator currentcomponent in the d-axis for a plurality of motor voltage supply values;wherein the method includes linear approximation of a selected pair ofmotor speed (Fw_speed) value and stator current component (Target_i_(d))value.
 12. The method of claim 11, wherein the method includesdetermining a value of a stator voltage (v_(s) ²) for the orthogonalrotating reference frame of the motor and, if the determined value ofthe stator voltage (v_(s) ²) is greater than or equal to a value of themaximum stator voltage (v_(s) ² _(_max2)) of the motor closed loopcontroller, then controlling operation of the motor to cause a value(v_(q)′) of a voltage component in a q-axis of the orthogonal rotatingreference frame to have a value derived from a difference between thevalue of the maximum stator voltage (v_(s) ² _(_max2)) of the motorclosed loop controller and a value (v_(d) ²) of a voltage component inthe d-axis of the orthogonal rotating reference frame.
 13. The method ofclaim 12, wherein the value of the voltage component (v_(q)′) in theq-axis is determined from:v _(q)′=√{square root over (Vs ²_max2−v _(d) ²)}.
 14. The method ofclaim 11, wherein the method includes determining a value of a statorvoltage (v_(s) ²) for the orthogonal rotating reference frame of themotor and, if the determined value of the stator voltage (v_(s) ²) isgreater than or equal to the value of the maximum stator voltage (v_(s)² _(_max2)) of the motor closed loop controller, then controllingoperation of the motor to cause a value (v_(q)′) of a voltage componentin the q-axis of the orthogonal rotating reference frame to have a valueequal to a value of the voltage component (v_(q)) in the q-axis for thebasic speed mode of operation of the motor.
 15. The method of claim 11,wherein the method includes determining values of stator voltagecomponents (v_(d) ², v_(q) ²) in both the d-axis and a q-axis of theorthogonal rotating reference frame when determining the value of saidstator voltage (v_(s) ²) where v_(s) ²=v_(d) ²+v_(d) ².
 16. A method ofcontrolling operation of a synchronous motor using a closed loopcontroller, the method comprising: during constant power or constantspeed motor operation, determining a value of a stator voltage (v_(s) ²)for an orthogonal rotating reference frame of the motor; comparing thevalue of the determined stator voltage (v_(s) ²) to a threshold voltage(v_(s) ² _(_max1)) in the orthogonal rotating reference frame, saidthreshold voltage (v_(s) ² _(_max1)) having a predetermined, selected,or calculated value between a value of a maximum stator voltage (v_(s) ²_(_max0)) in the orthogonal rotating reference frame for a basic speedmode of operation of the motor and a value of a maximum stator voltage(v_(s) ² _(_max2)) of the motor closed loop controller; wherein, if thedetermined value of the stator voltage (v_(s) ²) is greater than orequal to the value of the threshold voltage (v_(s) ² _(_max1)), thencontrolling operation of the motor in a flux weakening mode of operationuntil a value of a current component (i_(d)−Δi_(d)) in a d-axis of theorthogonal rotating reference frame reaches a maximum negative value(−i_(dmax)), or until the value of the stator voltage (v_(s) ²) is lessthan the value of the threshold voltage (v_(s) ² _(_max1)); and wherein,if the determined value of the stator voltage (v_(s) ²) becomes greaterthan or equal to the value of the maximum stator voltage (v_(s) ²_(_max2)) of the motor closed loop controller, then controllingoperation of the motor to cause a value (v_(d)′) of a voltage componentin a q-axis of the orthogonal rotating reference frame to have a valueequal to a value of the voltage component (v_(q)) in the q-axis for thebasic speed mode of operation of the motor.
 17. A method of controllingoperation of a synchronous motor using a closed loop controller, themethod comprising: during constant power or constant speed motoroperation, determining a value of a stator voltage (v_(s) ²) for anorthogonal rotating reference frame of the motor; comparing the value ofthe determined stator voltage (v_(s) ²) to a threshold voltage (v_(s) ²_(_max1)) in the orthogonal rotating reference frame, said thresholdvoltage (v_(s) ² _(_max1)) having a predetermined, selected, orcalculated value between a value of a maximum stator voltage (v_(s) ²_(_max0)) in the orthogonal rotating reference frame for a basic speedmode of operation of the motor and a value of a maximum stator voltage(v_(s) ² _(_max2)) of the motor closed loop controller; wherein, if thedetermined value of the stator voltage (v_(s) ²) is greater than orequal to the value of the threshold voltage (v_(s) ² _(_max1)), thencontrolling operation of the motor in a flux weakening mode of operationto cause a value of a current component (i_(d)−Δi_(d)) in a d-axis ofthe orthogonal rotating reference frame to reduce below a value of thecurrent component (i_(d)) in said d-axis for the basic speed mode ofoperation of the motor until the value of the current component(i_(d)−Δi_(d)) reaches a maximum negative value (−i_(dmax)), or untilthe value of the stator voltage (v_(s) ²) is less than the value of thethreshold voltage (v_(s) ² _(_max1)); and wherein, if the determinedvalue of the stator voltage (v_(s) ²) becomes less than the value of themaximum stator voltage (v_(s) ² _(_max0)) for the basic speed mode ofoperation of the motor, then stopping the flux weakening mode ofoperation and controlling operation of the motor to cause a value of thecurrent component (i_(d)+Δi_(d)) in the d-axis to increase until itreaches the value of the current component (i_(d)) in the d-axis for thebasic speed mode of operation of the motor.
 18. A method of controllingoperation of a synchronous motor using a closed loop controller, themethod comprising: during constant power motor operation, determining avalue of a stator voltage (v_(s) ²) for an orthogonal rotating referenceframe of the motor; comparing the value of the determined stator voltage(v_(s) ²) to a threshold voltage (v_(s) ² _(_max1)) in the orthogonalrotating reference frame, said threshold voltage (v_(s) ² _(_max1))having a predetermined, selected, or calculated value between a value ofa maximum stator voltage (v_(s) ² _(_max0)) in the orthogonal rotatingreference frame for a basic speed mode of operation of the motor and avalue of a maximum stator voltage (v_(s) ² _(_max2)) of the motor closedloop controller; wherein, if the determined value of the stator voltage(v_(s) ²) is greater than or equal to the value of the threshold voltage(v_(s) ² _(_max1)), then controlling operation of the motor in a fluxweakening mode of operation until a value of a current component(Target_i_(d)) in a d-axis of the orthogonal rotating reference framereaches a maximum negative value (−i_(dmax)) of the current component inthe d-axis, or, if the determined value of the stator voltage (v_(s) ²)is greater than or equal to the value of the threshold voltage (v_(s) ²_(_max1)) and if a target value of the stator current (Target_i_(s))less a value of a current component (i_(q) ²) in a q-axis is less than amaximum value (i_(dmax)) of the current component in the d-axis, thencontrolling operation of the motor in a flux weakening mode of operationby reducing a value of the current component (Target_i_(d)) in thed-axis based on the target value of the stator current (Target_i_(s))less the value of the current component (i_(q) ²) in the q-axis; andwherein, if the determined value of the stator voltage (v_(s) ²) isgreater than or equal to the value of the maximum stator voltage (V_(s)² _(_max2)) of the motor closed loop controller, then controllingoperation of the motor to cause a value (v_(q)′) of a voltage componentin the q-axis of the orthogonal rotating reference frame to have a valueequal to a value of the voltage component (v_(q)) in the q-axis for thebasic speed mode of operation of the motor.
 19. A method of controllingoperation of a synchronous motor using a closed loop controller, themethod comprising: during a flux weakening mode of operation of themotor, controlling a value of a stator current component (Target_i_(d))in a d-axis of an orthogonal rotating reference frame of the motor byselecting a target value of the stator current component (Target_i_(d))in the d-axis from a look-up table by reference to motor speed(Fw_speed) values, wherein the look-up table values are obtained bymeasuring motor speed and corresponding values of the stator currentcomponent in the d-axis for a plurality of motor voltage supply values;wherein the method includes determining a value of a stator voltage(v_(s) ²) for the orthogonal rotating reference frame of the motor and,if the determined value of the stator voltage (v_(s) ²) is greater thanor equal to the value of the maximum stator voltage (v_(s) ² _(_max2))of the motor closed loop controller, then controlling operation of themotor to cause a value (v_(q)′) of a voltage component in the q-axis ofthe orthogonal rotating reference frame to have a value equal to a valueof the voltage component (v_(q)) in the q-axis for the basic speed modeof operation of the motor.